local couponKey = KEYS[1]
local orderKey = KEYS[2]
local userId = ARGV[1]
-- 1.判断库存
if (tonumber(redis.call('GET', couponKey)) <= 0) then
-- 2.库存不足直接返回
    return 1
end
-- 3.库存充足，判断之前有没有下过单
if (redis.call('SISMEMBER', orderKey, userId) == 1) then
-- 4.下过单，直接返回
    return 2
end
-- 5.没下过单，扣减库存，购买集合中添加购买记录
redis.call('INCRBY', couponKey, -1)
redis.call('SADD', orderKey, userId)
return 0